第二次提交内容：由于版本兼容性问题进行调整
# 使用支持Java 17的Maven基础镜像
FROM maven:3.8.7-openjdk-17 AS build
WORKDIR /app
COPY . .

# 强制指定Java版本并排除spring模块
RUN mvn clean install -DskipTests \
    -Dmaven.compiler.source=17 \
    -Dmaven.compiler.target=17 \
    -pl '!ext/spring'

# 运行时使用轻量级Java 17镜像
FROM openjdk:17-jre-slim
WORKDIR /app

COPY --from=build /app/jasperreports/target/*.jar /app/lib/
COPY --from=build /app/demo/hsqldb /app/demo/hsqldb

# 安装必要工具（新增timeout命令处理）
RUN apt-get update && \
    apt-get install -y netcat coreutils && \
    rm -rf /var/lib/apt/lists/*

COPY entrypoint.sh /app/
RUN chmod +x /app/entrypoint.sh

EXPOSE 9001
ENTRYPOINT ["/app/entrypoint.sh"]

第一次提交内容：

# 第一阶段：使用Maven构建项目
FROM maven:3.8.6-openjdk-8 AS build
WORKDIR /app
COPY . .
RUN mvn clean install -DskipTests

# 第二阶段：创建运行时镜像（含HSQLDB示例数据库）
FROM openjdk:8-jre
WORKDIR /app

# 复制构建产物和依赖
COPY --from=build /app/jasperreports/target/*.jar /app/lib/
COPY --from=build /app/demo/hsqldb /app/demo/hsqldb

# 安装网络工具（用于等待数据库启动）
RUN apt-get update && apt-get install -y netcat

# 启动脚本
COPY entrypoint.sh /app/
RUN chmod +x /app/entrypoint.sh

EXPOSE 9001
ENTRYPOINT ["/app/entrypoint.sh"]
## 运行docker build -t jasperreports:7.0.2 .